A storage device for storing data may include, for example, a magnetic disk, a semiconductor memory, and the like. Since physical characteristics are different for each type of storage device, a management method corresponding to the physical characteristics is required.
Conventionally, magnetic disks are widely used as a storage device. A read/write time of the magnetic disk takes an average of several milliseconds per kilobyte. Additionally, since an arrival time of an arm of the magnetic disk is different depending on a physical location where data is stored, the read/write time of the magnetic disk varies.
Recently, a non-volatile memory that takes a relatively short read/write time, consumes a small amount of power, and occupies a small amount of space, compared with a magnetic disk, is being rapidly replaced by the magnetic disk. This is because a capacity of the non-volatile memory becomes larger.
The non-volatile memory may perform electrically reading, writing, and erasing. The non-volatile memory is a semiconductor memory device that is able to maintain stored data even when power is cut off. A process of storing data in a non-volatile memory device is referred to as programming, in addition to writing.
A typical example of the non-volatile memory includes a flash memory. The flash memory has advantages of a small size, a low power consumption, and a high read speed, compared with a conventional Hard Disk Drive (HDD). Recently, a Solid State Disk (SSD) was proposed to replace an HDD using a high-capacity flash memory.
The flash memory may typically include, for example, a NAND-type flash memory, a NOR-type flash memory, and the like. A NAND scheme and a NOR scheme may be distinguished based on a configuration and operation scheme of a cell array.
A flash memory includes an array of a plurality of memory cells, and a single memory cell may store at least one data bit. A single memory cell includes a control gate and a floating gate, and an insulator is inserted between the control gate and the floating gate. An insulator is also inserted between the floating gate and a substrate.
The non-volatile memory is managed by a predetermined controller. Additionally, an overall performance of the non-volatile memory may be determined based on a performance of the controller.
Accordingly, there is a desire for a research on a memory controller that may efficiently manage and control a memory.